{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "随机生成二分类样本8万个，每个样本20个特征，采用RF，RF+LR，GBDT，GBDT+LR进行二分类预测，使用AUC指标进行评估\n",
    "\n",
    "方法:\n",
    "Step1，将数据分成训练集和测试集，其中训练集分成GBDT训练集和LR训练集；\n",
    "\n",
    "Step2，使用决策树进行特征转换；\n",
    "\n",
    "Step3，使用LR对转换好的特征进行训练；\n",
    "\n",
    "Step4，对比不同算法，绘制ROC曲线。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[ 0.7147703   1.69238608 -0.83621369 ... -1.69886381 -0.73762461\n",
      "  -0.65640469]\n",
      " [ 0.17860054 -0.7459004  -0.45502066 ... -0.62626305 -0.21891576\n",
      "   1.55739293]\n",
      " [ 0.11330141 -0.97190775 -0.76827934 ...  2.81116506  0.0936581\n",
      "  -0.63271247]\n",
      " ...\n",
      " [-0.63893226 -0.32649091  1.24901088 ...  0.8241287   0.65310175\n",
      "   0.47251886]\n",
      " [ 0.33239211 -0.26598287 -1.0596921  ...  0.19311752 -0.60034983\n",
      "  -1.69907763]\n",
      " [-0.15221972  0.80863603 -0.52407416 ... -0.96750062  1.4901775\n",
      "  -0.51211702]] <class 'numpy.ndarray'> (80000, 20)\n",
      "[0 0 1 ... 1 0 1] <class 'numpy.ndarray'> (80000,)\n"
     ]
    }
   ],
   "source": [
    "# 生成样本集\n",
    "from sklearn.datasets import make_classification\n",
    "X, y = make_classification(n_samples=80000, n_features=20)\n",
    "print(X,type(X),X.shape)#生成了8000个样本 每个样本有20个特征\n",
    "print(y,type(y),y.shape)#同样对应的标签的值是8000个"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(40000, 20)\n",
      "(40000, 20)\n",
      "(40000,)\n",
      "(40000,)\n"
     ]
    }
   ],
   "source": [
    "# 将样本集分成测试集和训练集\n",
    "from sklearn.model_selection import train_test_split\n",
    "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.5)#一般作为测试集 一半作为训练集\n",
    "print(X_train.shape)\n",
    "print(X_test.shape)\n",
    "print(y_train.shape)\n",
    "print(y_test.shape)#8000个样本按照test_size=0.5来划分 所以都是4000"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(20000, 20)\n",
      "(20000, 20)\n",
      "(20000,)\n",
      "(20000,)\n"
     ]
    }
   ],
   "source": [
    "# 再将训练集拆成两个部分（GBDT/RF，LR）\n",
    "X_train_T, X_train_lr, y_train_T, y_train_lr = train_test_split(X_train, y_train, test_size=0.5)\n",
    "print(X_train_T.shape)\n",
    "print(X_train_lr.shape)\n",
    "print(y_train_T.shape)\n",
    "print(y_train_lr.shape)#再把上面已经分好的4000个训练集 再分成两半儿   一半儿给GBDT或者RF   另一半儿给lr"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "n_estimator = 10#定义好预估器n_estimator的数量  下面要用"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "RandomForestClassifier(bootstrap=True, ccp_alpha=0.0, class_weight=None,\n",
       "                       criterion='gini', max_depth=3, max_features='auto',\n",
       "                       max_leaf_nodes=None, max_samples=None,\n",
       "                       min_impurity_decrease=0.0, min_impurity_split=None,\n",
       "                       min_samples_leaf=1, min_samples_split=2,\n",
       "                       min_weight_fraction_leaf=0.0, n_estimators=10,\n",
       "                       n_jobs=None, oob_score=False, random_state=None,\n",
       "                       verbose=0, warm_start=False)"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.ensemble import RandomForestClassifier\n",
    "# 基于随机森林的监督变换\n",
    "rf = RandomForestClassifier(max_depth=3, n_estimators=n_estimator)\n",
    "rf.fit(X_train_T, y_train_T)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "OneHotEncoder(categories='auto', drop=None, dtype=<class 'numpy.float64'>,\n",
       "              handle_unknown='error', sparse=True)"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 得到OneHot编码\n",
    "from sklearn.preprocessing import OneHotEncoder\n",
    "rf_enc = OneHotEncoder(categories='auto')\n",
    "rf_enc.fit(rf.apply(X_train_T))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,\n",
       "                   intercept_scaling=1, l1_ratio=None, max_iter=1000,\n",
       "                   multi_class='auto', n_jobs=None, penalty='l2',\n",
       "                   random_state=None, solver='lbfgs', tol=0.0001, verbose=0,\n",
       "                   warm_start=False)"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 使用OneHot编码作为特征，训练LR\n",
    "from sklearn.linear_model import LogisticRegression\n",
    "rf_lm = LogisticRegression(solver='lbfgs', max_iter=1000)\n",
    "rf_lm.fit(rf_enc.transform(rf.apply(X_train_lr)), y_train_lr)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 使用LR进行预测\n",
    "from sklearn.metrics import roc_curve\n",
    "y_pred_rf_lm = rf_lm.predict_proba(rf_enc.transform(rf.apply(X_test)))[:, 1]\n",
    "fpr_rf_lm, tpr_rf_lm, _ = roc_curve(y_test, y_pred_rf_lm)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "GradientBoostingClassifier(ccp_alpha=0.0, criterion='friedman_mse', init=None,\n",
       "                           learning_rate=0.1, loss='deviance', max_depth=3,\n",
       "                           max_features=None, max_leaf_nodes=None,\n",
       "                           min_impurity_decrease=0.0, min_impurity_split=None,\n",
       "                           min_samples_leaf=1, min_samples_split=2,\n",
       "                           min_weight_fraction_leaf=0.0, n_estimators=10,\n",
       "                           n_iter_no_change=None, presort='deprecated',\n",
       "                           random_state=None, subsample=1.0, tol=0.0001,\n",
       "                           validation_fraction=0.1, verbose=0,\n",
       "                           warm_start=False)"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 基于GBDT监督变换\n",
    "from sklearn.ensemble import GradientBoostingClassifier\n",
    "grd = GradientBoostingClassifier(n_estimators=n_estimator)\n",
    "grd.fit(X_train_T, y_train_T)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 得到OneHot编码\n",
    "grd_enc = OneHotEncoder(categories='auto')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "OneHotEncoder(categories='auto', drop=None, dtype=<class 'numpy.float64'>,\n",
       "              handle_unknown='error', sparse=True)"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import numpy as np\n",
    "np.set_printoptions(threshold=np.inf)\n",
    "grd_enc.fit(grd.apply(X_train_T)[:, :, 0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,\n",
       "                   intercept_scaling=1, l1_ratio=None, max_iter=1000,\n",
       "                   multi_class='auto', n_jobs=None, penalty='l2',\n",
       "                   random_state=None, solver='lbfgs', tol=0.0001, verbose=0,\n",
       "                   warm_start=False)"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 使用OneHot编码作为特征，训练LR\n",
    "grd_lm = LogisticRegression(solver='lbfgs', max_iter=1000)\n",
    "grd_lm.fit(grd_enc.transform(grd.apply(X_train_lr)[:, :, 0]), y_train_lr)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 使用LR进行预测\n",
    "y_pred_grd_lm = grd_lm.predict_proba(grd_enc.transform(grd.apply(X_test)[:, :, 0]))[:, 1]\n",
    "fpr_grd_lm, tpr_grd_lm, _ = roc_curve(y_test, y_pred_grd_lm)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 直接使用GBDT进行预测\n",
    "y_pred_grd = grd.predict_proba(X_test)[:, 1]\n",
    "fpr_grd, tpr_grd, _ = roc_curve(y_test, y_pred_grd)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 直接使用RF进行预测\n",
    "y_pred_rf = rf.predict_proba(X_test)[:, 1]\n",
    "fpr_rf, tpr_rf, thresholds_skl = roc_curve(y_test, y_pred_rf)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 直接使用LR进行预测\n",
    "LR = LogisticRegression(n_jobs=4, C=0.1, penalty='l2')\n",
    "LR.fit(X_train_T, y_train_T)\n",
    "y_pred = LR.predict_proba(X_test)[:, 1]\n",
    "fpr_lr, tpr_lr, _ = roc_curve(y_test, y_pred)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "plt.figure(1)\n",
    "plt.plot([0, 1], [0, 1], 'k--')\n",
    "plt.plot(fpr_lr, tpr_lr, label='LR')\n",
    "plt.plot(fpr_rf, tpr_rf, label='RF')\n",
    "plt.plot(fpr_rf_lm, tpr_rf_lm, label='RF + LR')\n",
    "plt.plot(fpr_grd, tpr_grd, label='GBT')\n",
    "plt.plot(fpr_grd_lm, tpr_grd_lm, label='GBT + LR')\n",
    "plt.xlabel('False Positive Rate')\n",
    "plt.ylabel('True Positive Rate')\n",
    "plt.title('ROC curve')\n",
    "plt.legend(loc='best')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 将左上角放大显示\n",
    "plt.figure(2)\n",
    "plt.xlim(0, 0.2)\n",
    "plt.ylim(0.8, 1)\n",
    "plt.plot([0, 1], [0, 1], 'k--')\n",
    "plt.plot(fpr_lr, tpr_lr, label='LR')\n",
    "plt.plot(fpr_rf, tpr_rf, label='RF')\n",
    "plt.plot(fpr_rf_lm, tpr_rf_lm, label='RF + LR')\n",
    "plt.plot(fpr_grd, tpr_grd, label='GBT')\n",
    "plt.plot(fpr_grd_lm, tpr_grd_lm, label='GBT + LR')\n",
    "plt.xlabel('False Positive Rate')\n",
    "plt.ylabel('True Positive Rate')\n",
    "plt.title('ROC curve (zoomed)')\n",
    "plt.legend(loc='best')\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
